//Aqui esta um exemplo de como se fazer um ícone aparecer no TrayBar
 

Unit1.cpp

//---------------------------------------------------------------------------
#include  
#include  
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner) :
TForm(Owner)
{
}
//---------------------------------------------------------------------------
void TForm1::AddTrayIcon()
{
  // Esta funcao adiciona um icone no tray

  // Inicializa a estrutura para Sell_NotifyIcon
  NOTIFYICONDATA icondata ;
  memset (&icondata, 0, sizeof (icondata)) ;
  icondata.cbSize = sizeof (icondata) ;

 

  // Handle da janela para receber a notificacao

  icondata.hWnd = Handle ;

 
  // Setar o Hint quando o mouse passado por cima
  strncpy (icondata.szTip,"Aplicação C++Builder",sizeof (icondata.szTip));

 
  // Usar o icon da aplicacao no tray
  icondata.hIcon = Application->Icon->Handle ;


  // Diz para o shell o valor para usar para notificacao
  icondata.uCallbackMessage = iconmessage ;


  // Diz para nos a notificacao (tudo no caso)
  icondata.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP ;


  // Adiciona um icone
  Shell_NotifyIcon (NIM_ADD, &icondata) ;
}


//---------------------------------------------------------------------------

void TForm1::RemoveTrayIcon()
{
  // Esta funcao remove o icone do tray
  NOTIFYICONDATA icondata ;
  memset (&icondata, 0, sizeof (icondata)) ;
  icondata.cbSize = sizeof (icondata) ;

  icondata.hWnd = Handle ;
  Shell_NotifyIcon (NIM_DELETE, &icondata) ;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::WndProc(Messages::TMessage
&Message)
{
  /*se a janela recebe a notificacao de mensagem do shell ai
    passa para a funcao ProcessIconMessage. Senao deixa o default*/


  // processamento para a mensagem
  if (Message.Msg == iconmessage)
    {
      if (Message.LParam == WM_LBUTTONDBLCLK)
        {
          Application->Terminate () ;
        }
      return ;
    }
  TForm::WndProc (Message) ;

}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject
*Sender)
{
  // Cria um unico numero de mensagem
  iconmessage = RegisterWindowMessage ("IconNotify") ;

  AddTrayIcon () ;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormDestroy(TObject
*Sender)
{
  RemoveTrayIcon () ;
}
//---------------------------------------------------------------------------

Unit1.h

//---------------------------------------------------------------------------
#ifndef Unit3H
#define Unit3H

//---------------------------------------------------------------------------
#include  
#include  
#include  
#include  
#include
 
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
  void __fastcall FormCreate(TObject *Sender);
  void __fastcall FormDestroy(TObject *Sender);
private: // User declarations
  unsigned int iconmessage ;
  void AddTrayIcon();
  void RemoveTrayIcon();
protected:
  virtual void __fastcall
WndProc(Messages::TMessage &Message) ;
public:  // User declarations
  __fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
 
/*uma outra maneira de se fazer isso tudo é usar o componente
que existe nos pacotes do RX, que está no endereço
http://www.rx.demo.ru*/